Zum Hauptinhalt springen
Version: Preview

Schema-Verwaltung

Vor dem ersten Datenimport muss das Datenbankschema erstellt werden. Das Schema umfasst alle Tabellen, Spalten und Auswahllisten, basierend auf das BaSYS-Datenmodell in MapEdit.

Datenbank Import

Schema-Status

Im oberen Bereich der Datenbank import-Ansicht zeigt ein farbiges Banner den aktuellen Status:

FarbeBedeutung
🟢 GrünSchema vorhanden und aktuell — bereit für den Import
🟠 OrangeSchema vorhanden, aber Änderungen erkannt oder API-Version hat sich geändert
🔴 Rot / fehlendKein Schema gefunden — Schema erstellen vor dem Import

Schema erstellen

Klicken Sie auf Schema erstellen, um das Schema vollständig aufzubauen. Folgende Optionen stehen zur Verfügung:

OptionStandardWirkung
Vorhandene Daten löschenEinLöscht alle bestehenden BaSYS-Daten vor der Tabellenerstellung
Tabellen importierenEinErstellt Feature-Tabellen
Auswahllisten importierenEinErstellt Auswahllisten-Nachschlagetabellen

Das PlugIn führt dabei folgende Schritte durch:

  1. Vergleicht die gespeicherte Schema-Version mit der aktuellen API-Version
  2. Sichert benutzerdefinierte Views automatisch (sofern ein Config-Verzeichnis konfiguriert ist)
  3. Erstellt alle Themen, Tabellen, Auswahllisten und internen Unterstützungstabellen neu
  4. Schreibt einen Schema-Snapshot in die Datenbank

Während der Schema-Erstellung zeigt das PlugIn einen Fortschrittsindikator mit dem aktuellen Schritt, einem Fortschrittsbalken und einem Live-Protokoll der ausgeführten Aktionen:

Fortschrittsanzeige während der Schema-Erstellung

hinweis

Die Schema-Erstellung kann bei großen BaSYS-Instanzen mehrere Minuten dauern, da Tabellendefinitionen und Auswahllisten von der API abgerufen werden.

Was die Schema-Erstellung anlegt

Feature-Tabellen (Präfix BA_) Für jeden BaSYS-Objekttyp wird eine eigene Tabelle angelegt, z. B. BA_Abwasserschacht, BA_Haltung. Spaltendefinitionen werden zur Laufzeit von der API abgerufen.

Auswahllisten-Tabellen (Präfix BA_) Nachschlagetabellen für alle Auswahllisten-Spalten mit den Feldern ID, VALUE und SHORT_VALUE.

MapEdit-Topics Tabellen werden in Themengruppen entsprechend der BaSYS-Hierarchie eingeordnet: BaSYS_Stammdaten, BaSYS_Allgemein, BaSYS_Zustandsdaten, Views.

Systemtabellen

TabelleInhalt
BasysVersionSchema-Erstellungsdatum, API-Version, Gemeinde- und Projektvariante, Import-Datum
BasysLogProtokoll wichtiger Operationen
BasysSchemaSnapshotAbbild der Tabellen- und Spaltenstruktur zum Zeitpunkt der letzten Schema-Erstellung
Basys_Topology_CONNVerbindungstabelle für die Kanalnetz-Topologie

Schema prüfen

Klicken Sie auf Schema prüfen, um den aktuellen Datenbankzustand mit den API-Definitionen zu vergleichen. Die Prüfung erkennt:

  • Neue Spalten, die in der BaSYS-API hinzugefügt wurden
  • Aus der API entfernte Spalten
  • Neue Tabellen in der Konfiguration, die noch nicht in der Datenbank existieren
  • Änderungen der Auswahllisten-Eintragsanzahl

Wenn die Schema-Prüfung Änderungen erkennt, erscheint folgender Dialog:

Schema-Änderungen erkannt

Inkrementelles Update

Das inkrementelle Update:

  • Fügt neue Spalten zu bestehenden Tabellen hinzu — ohne Datenverlust
  • Erstellt neue Tabellen, die in der Konfiguration, aber noch nicht in der Datenbank vorhanden sind
  • Aktualisiert Auswahllisten-Tabellen, deren Eintragsanzahl sich geändert hat
tipp

Das inkrementelle Update entfernt keine Spalten und ändert keine Spaltentypen — solche Änderungen erfordern eine vollständige Neuerstellung.

Schema-Snapshot

Der Schema-Snapshot ist eine normalisierte Kopie der API-zurückgegebenen Tabellen- und Spaltendefinitionen, gespeichert in der Datenbank. Er wird nach jeder erfolgreichen Schema-Erstellung oder nach einem inkrementellen Update geschrieben und dient als Basis für den Schema-Vergleich bei der nächsten Prüfung.